java RecyclerView findFirstVisibleItemPosition()返回1
我有一个与GridLayoutManager合作的RecyclerView
GridLayoutManager layoutManager = new GridLayoutManager(this, 2);
每次设备的方向改变时,我都会改变列:
@Override
public void onConfigurationChanged(Configuration newConfig) {
super.onConfigurationChanged(newConfig);
if (newConfig.orientation == Configuration.ORIENTATION_LANDSCAPE) {
float scalefactor = getResources().getDisplayMetrics().density * 160;
int number = getWindowManager().getDefaultDisplay().getWidth();
int columns = (int) ((float) number / (float) scalefactor);
recycler1.setLayoutManager(new GridLayoutManager(this, columns));
} else if (newConfig.orientation == Configuration.ORIENTATION_PORTRAIT){
float scalefactor = getResources().getDisplayMetrics().density * 160;
int number = getWindowManager().getDefaultDisplay().getWidth();
int columns = (int) ((float) number / (float) scalefactor);
recycler1.setLayoutManager(new GridLayoutManager(this, columns));
}
}
我在onScroll中使用这个方法进行无休止的滚动
if (layoutManager.findFirstVisibleItemPosition() == (newList.size() - 15)) {
loadMore();
}
但它会返回“-1”,而不是右边第一个可见项。我尝试了很多方法来解决这个问题,但都没有成功
摘要:我想要一个带有GridLayoutManager的RecyclerView,它的列可以根据屏幕大小进行调整。此外,findFirstVisibleItemPosition()也应该可用
共 (0) 个答案